Skip to content

feat(workflow): freeze contracts + rename thinking→effort#94

Draft
Waishnav wants to merge 6 commits into
mainfrom
pr/dw-1-types-effort
Draft

feat(workflow): freeze contracts + rename thinking→effort#94
Waishnav wants to merge 6 commits into
mainfrom
pr/dw-1-types-effort

Conversation

@Waishnav

Copy link
Copy Markdown
Owner

Summary

  • Freeze Dynamic Workflow public types/limits (workflow-types.ts)
  • Rename agent thinkingeffort across runtime, adapters, profiles, store, CLI
  • Migrate local_agent_sessions column (v4); docs/examples for effort
  • Includes prior DW plan/spec docs used as implementation contracts

Stack

PR1 of 5 (base for the rest)

PR Branch Depends on
1 pr/dw-1-types-effort main
2 pr/dw-2-store-sandbox this
3 pr/dw-3-engine 2
4 pr/dw-4-cli-worker 3
5 pr/dw-5-mcp-skill 4

Test plan

  • npm run typecheck
  • npm test (includes workflow-types.test.ts + effort-related agent tests)
  • Confirm CLI/profiles use --effort / effort: (optional --thinking alias if present)

Waishnav and others added 6 commits July 21, 2026 12:10
Add workflow-types contract module (statuses, AgentOpts, journal shapes,
cache key helper, budget stub, concurrency). Wire test into package.json.
Fix primitives-spec §13: isolation worktree is v1 must-have.

Co-Authored-By: Claude <noreply@anthropic.com>
Normalize LocalAgentRunInput, profiles, CLI, store, and adapters on
effort. CLI accepts --thinking as a one-release alias; profile YAML
thinking: still maps to effort. DB migration v4 renames the column.

Co-Authored-By: Claude <noreply@anthropic.com>
Update profile schema, examples, and subagent skill for effort. Note
legacy thinking alias and provider-native pi --thinking flag.

Co-Authored-By: Claude <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Jul 21, 2026

Copy link
Copy Markdown

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 7e886984-9a23-4131-9cb2-3cff611726a2

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch pr/dw-1-types-effort

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Comment thread src/workflow-types.ts
/**
* Public agent() options. Deliberately no writeMode.
*/
export interface AgentOpts {

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[P1] Before freezing this public contract, please include a way to select configured agent profiles (profile/agentType) or explicitly keep this surface extensible. As written, workflow agents bypass the existing profile registry and can only choose a raw provider/model/effort, so custom reviewer/implementer instructions and tool policies are unavailable.

@Waishnav

Copy link
Copy Markdown
Owner Author

The primitive set is a strong read-oriented MVP, but I do not think the public contract should be called frozen yet. agent() -> string | object cannot represent reusable provider sessions, isolated workspace/worktree handoff, usage metadata, or typed failures. At minimum, please keep room for: configured profile/agentType, a settled-error mode, enforceable read-only/tool policy, per-call timeout, and a total workflow call cap. Reusable agent/workspace handles can be staged, but the v1 return contract should not foreclose them.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant